package com.xxzuibang.day10.零钱通项目oop;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;

public class SmallMoney {
        //首先在前面声明所有需要用到的变量
        boolean loop=true;
        Scanner sc=new Scanner(System.in);
        String commond="";
        //明细
        String details="-------------零钱通明细---------------";
        //入账需要的变量
        double money=0;
        double balance=0;//余额
        Date date=null;
        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm");//格式化日期的形式
        //消费需要用的变量
        String description="";
        //退出需要用到的变量
        String choice="";

        /**
         * 主菜单展示
         */
        public void menu(){
            do {
                System.out.println("-------------零钱通菜单---------------");
                System.out.println("\t\t 1.零钱通明细");
                System.out.println("\t\t 2.收益入账");
                System.out.println("\t\t 3.消费");
                System.out.println("\t\t 4.退出");
                System.out.println("请选择(1-4)：");
                String commond=sc.next();
                switch (commond){
                    case "1":
                        details();
                        break;
                    case "2":
                        income();
                        break;
                    case "3":
                        pay();
                        break;
                    case "4":
                        exit();
                        break;
                    default:
                        System.out.println("你的输入有误，请从新选择");
                        break;
                }
            } while (loop);


        }

    /**
     * 退出功能
     */
    private void exit() {
        while (true) {//要求用户必须输入y或者n，否则就一直循环
            System.out.println("你确定要退出吗？y/n");
            choice = sc.next();
            if (choice.equals("y") || choice.equals("n")) {
                break;
            }
        }
        //当用户退出while后，再判断
        if (choice.equals("y")) {
            loop = false;
        }
    }

    /**
     * 消费功能
     */
    private void pay() {
        System.out.println("请输入消费金额：");
        Double money=sc.nextDouble();
        System.out.println("请输入消费描述:");
        String description=sc.next();
        balance -=money;
        Date date=new Date();
        details+="\n"+description+"\t"+money+"\t"+sdf.format(date)+"\t\t余额："+balance;
    }

    /**
     * 收益入账功能呢
     */
    private void income() {
        System.out.println("请输入入账金额");
        double money=sc.nextDouble();
        balance +=money;
        Date date=new Date();
        details+="\n收益入账 "+money+"\t"+sdf.format(date)+"\t余额："+balance;
    }

    /**
     * 零钱通明细功能
     */
    private void details() {
        System.out.println(details);
    }


}

